JavaFX এর Built-in Controls: ComboBox, ListView, TableView, TreeView

Java Technologies - জাভাএফএক্স (JavaFx) JavaFX Controls এবং Custom Controls তৈরি করা |
139
139

JavaFX এর Built-in Controls হল গ্রাফিক্যাল ইউজার ইন্টারফেস (GUI) তৈরি করতে ব্যবহৃত বিভিন্ন ধরনের কন্ট্রোল, যেগুলি সাধারণত ইউজারের সাথে ইন্টারঅ্যাকশন (যেমন ইনপুট নেওয়া, অপশন নির্বাচন, ডেটা দেখানো ইত্যাদি) পরিচালনা করতে ব্যবহৃত হয়। কিছু গুরুত্বপূর্ণ Built-in Controls হল ComboBox, ListView, TableView, এবং TreeView। এগুলি সাধারণত ডেটা নির্বাচন, প্রদর্শন এবং লিস্ট ভিউ তৈরির জন্য ব্যবহৃত হয়।

1. ComboBox

ComboBox হল একটি ড্রপডাউন মেনু, যা ইউজারকে একটি নির্দিষ্ট লিস্ট থেকে একটি অপশন নির্বাচন করতে সহায়তা করে। এটি টেক্সট ইনপুট এবং ড্রপডাউন অপশন দুটোই প্রদান করে।

ComboBox উদাহরণ:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.ComboBox;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class ComboBoxExample extends Application {

    @Override
    public void start(Stage primaryStage) {
        // ComboBox তৈরি করা
        ComboBox<String> comboBox = new ComboBox<>();
        
        // ComboBox এ অপশন যুক্ত করা
        comboBox.getItems().addAll("Option 1", "Option 2", "Option 3", "Option 4");
        
        // ComboBox থেকে নির্বাচিত আইটেম পেতে একটি ইভেন্ট হ্যান্ডলার
        comboBox.setOnAction(e -> System.out.println("Selected Item: " + comboBox.getValue()));

        // Layout তৈরি করা
        StackPane root = new StackPane();
        root.getChildren().add(comboBox);

        // Scene তৈরি এবং সেট করা
        Scene scene = new Scene(root, 300, 200);
        primaryStage.setTitle("ComboBox Example");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

আউটপুট:

  • ইউজার একটি অপশন নির্বাচন করলে তা কনসোলে প্রিন্ট হবে।

2. ListView

ListView হল একটি কন্ট্রোল যা একাধিক আইটেমের একটি লিস্ট প্রদর্শন করে। এটি ব্যবহারকারীর জন্য একটি স্ক্রলেবল লিস্ট তৈরি করতে ব্যবহৃত হয়, যেখানে ইউজার এক বা একাধিক আইটেম নির্বাচন করতে পারে।

ListView উদাহরণ:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.ListView;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class ListViewExample extends Application {

    @Override
    public void start(Stage primaryStage) {
        // ListView তৈরি করা
        ListView<String> listView = new ListView<>();
        
        // ListView এ আইটেম যোগ করা
        listView.getItems().addAll("Item 1", "Item 2", "Item 3", "Item 4");

        // Layout তৈরি করা
        StackPane root = new StackPane();
        root.getChildren().add(listView);

        // Scene তৈরি এবং সেট করা
        Scene scene = new Scene(root, 300, 250);
        primaryStage.setTitle("ListView Example");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

আউটপুট:

  • একটি স্ক্রলেবল লিস্ট ভিউ প্রদর্শিত হবে যেখানে ইউজার আইটেমগুলির মধ্যে নির্বাচন করতে পারবে।

3. TableView

TableView হল একটি টেবিল কন্ট্রোল যা ডেটা প্রদর্শন করতে ব্যবহৃত হয়। এটি একাধিক কলাম এবং রো দিয়ে টেবিল তৈরির জন্য ব্যবহৃত হয় এবং ইউজারের জন্য ডেটা প্রদর্শন ও ম্যানিপুলেশন সহজ করে।

TableView উদাহরণ:

import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.Scene;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class TableViewExample extends Application {

    public class Person {
        private String name;
        private int age;

        public Person(String name, int age) {
            this.name = name;
            this.age = age;
        }

        public String getName() {
            return name;
        }

        public int getAge() {
            return age;
        }
    }

    @Override
    public void start(Stage primaryStage) {
        // TableView তৈরি করা
        TableView<Person> tableView = new TableView<>();

        // ডেটা যোগ করার জন্য ObservableList তৈরি করা
        ObservableList<Person> data = FXCollections.observableArrayList(
            new Person("John", 25),
            new Person("Emma", 30),
            new Person("Robert", 35)
        );

        // টেবিলের জন্য কলাম তৈরি করা
        TableColumn<Person, String> nameColumn = new TableColumn<>("Name");
        nameColumn.setCellValueFactory(cellData -> javafx.beans.property.adapter.ReadOnlyStringWrapper(cellData.getValue().getName()));

        TableColumn<Person, Integer> ageColumn = new TableColumn<>("Age");
        ageColumn.setCellValueFactory(cellData -> javafx.beans.property.adapter.ReadOnlyIntegerWrapper(cellData.getValue().getAge()));

        // কলাম টেবিলে যোগ করা
        tableView.getColumns().addAll(nameColumn, ageColumn);
        tableView.setItems(data);

        // Layout তৈরি করা
        StackPane root = new StackPane();
        root.getChildren().add(tableView);

        // Scene তৈরি এবং সেট করা
        Scene scene = new Scene(root, 300, 250);
        primaryStage.setTitle("TableView Example");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

আউটপুট:

  • একটি টেবিল প্রদর্শিত হবে যেখানে Name এবং Age কলাম থাকবে এবং প্রতিটি রোতে একটি Person অবজেক্টের ডেটা দেখানো হবে।

4. TreeView

TreeView একটি হায়ারারকিক্যাল (অথবা গাছের মতো) ডেটা কাঠামো প্রদর্শন করতে ব্যবহৃত হয়। এটি সাধারণত ডিরেক্টরি স্ট্রাকচার, ফাইল সিস্টেম বা হায়ারারকিক্যাল ডেটা প্রদর্শন করতে ব্যবহৃত হয়।

TreeView উদাহরণ:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.TreeItem;
import javafx.scene.control.TreeView;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class TreeViewExample extends Application {

    @Override
    public void start(Stage primaryStage) {
        // Root item তৈরি করা
        TreeItem<String> rootItem = new TreeItem<>("Root");
        rootItem.setExpanded(true);

        // Child item গুলি তৈরি করা
        TreeItem<String> childItem1 = new TreeItem<>("Child 1");
        TreeItem<String> childItem2 = new TreeItem<>("Child 2");

        // Child item গুলি root এর মধ্যে যোগ করা
        rootItem.getChildren().addAll(childItem1, childItem2);

        // TreeView তৈরি করা
        TreeView<String> treeView = new TreeView<>(rootItem);

        // Layout তৈরি করা
        StackPane root = new StackPane();
        root.getChildren().add(treeView);

        // Scene তৈরি এবং সেট করা
        Scene scene = new Scene(root, 300, 250);
        primaryStage.setTitle("TreeView Example");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

আউটপুট:

  • একটি গাছের মতো স্ট্রাকচার থাকবে যেখানে একটি Root আইটেম এবং তার দুটি Child আইটেম থাকবে।

সারাংশ:

JavaFX এ Built-in Controls এর মধ্যে ComboBox, ListView, TableView, এবং TreeView কন্ট্রোলস ইউজারের সাথে ইন্টারঅ্যাকশন এবং ডেটা প্রদর্শন করতে ব্যবহৃত হয়:

  1. ComboBox: ইউজারকে একটি ড্রপডাউন থেকে অপশন নির্বাচন করতে সহায়তা করে।
  2. ListView: একাধিক আইটেম প্রদর্শন করার জন্য ব্যবহৃত হয় এবং স্ক্রলেবল।
  3. TableView: ডেটা টেবিল আকারে প্রদর্শন করতে ব্যবহৃত হয়।
  4. TreeView: হায়ারারকিক্যাল ডেটা প্রদর্শন করতে ব্যবহৃত হয়, যেমন ডিরেক্টরি স্ট্রাকচার।

এগুলি JavaFX অ্যাপ্লিকেশনে ইউজার ইন্টারফেস ডিজাইন এবং ডেটা প্রদর্শন সহজ এবং কার্যকর করতে সহায়তা করে।

Content added By
Promotion